/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beans.dao;

import beans.EvolucionMedicamento;
import core.bd;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author nowxue
 */
public class EvolucionMedicamentoDAO {
    
   public static void guardarEvolucion(EvolucionMedicamento evolucion){
        Connection conexion = null;
        PreparedStatement statement = null;
        ResultSet rs = null;

        try {
            conexion = bd.getConexion();

            statement = conexion.prepareStatement("INSERT INTO evolucion_medicamento("
                    + "id_medicamento_discapacidad, calificacion, fecha_control, observacion) "
                    + "VALUES (?, ?, ?, ?);");
            statement.setInt(1, evolucion.getMedicamentoDiscapacidad().getId());
            statement.setInt(2, evolucion.getCalificacion());
            statement.setDate(3, new java.sql.Date(
                    evolucion.getFechaControl().getTime()));
            statement.setString(4, evolucion.getObservacion());

            statement.executeUpdate();

            //obtenemos el ultimo id generado en el DBMS.
            //se podria utilizar otro metodo, como currval('seqname').
            statement = conexion.prepareStatement("select id_medicamento_discapacidad from evolucion_medicamento "
                    + "order by id_medicamento_discapacidad desc limit 1");

            rs = statement.executeQuery();
            Long idGenerado = null;
            if (rs.next()) {
                idGenerado = (rs.getLong("id_medicamento_discapacidad"));
                evolucion.setId(idGenerado.intValue());
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
//            bd.liberaConexion(conexion);
//            bd.liberarStatement(statement);
        }
    }
}
